<!--- dsn names are expected in form. these methods should not be allowed to be run remotely --->
&lt;cfcomponent&gt;
	&lt;cfset variables.dsn = "" /&gt;
	
	&lt;cffunction name="init"&gt;
		&lt;cfreturn this /&gt;
	&lt;/cffunction&gt;
	
	&lt;cffunction name="setDSN"&gt;
		&lt;cfargument name="dsn_name" requried="true" type="string" /&gt;
		&lt;cfset variables.dsn = arguments.dsn_name /&gt;
	&lt;/cffunction&gt;
	
	&lt;cffunction name="up"&gt;
		&lt;cfquery name="createTable" datasource="#variables.dsn#"&gt;
			<cfoutput>#form.generated_sql#</cfoutput>
		&lt;/cfquery&gt;
	&lt;/cffunction&gt;
	
	&lt;cffunction name="down"&gt;
		&lt;cfquery name="createTable" datasource="#variables.dsn#"&gt;
			drop table <cfoutput>#form.table_name#</cfoutput>
		&lt;/cfquery&gt;
	&lt;/cffunction&gt;
&lt;/cfcomponent&gt;